package net.zjitc.android2019.ch6service;

import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;

public class MyImageService extends Service {
    public MyImageService() {
    }

    @Override
    public IBinder onBind(Intent intent) {
        // TODO: Return the communication channel to the service.
        throw new UnsupportedOperationException("Not yet implemented");
    }

    @Override
    public void onCreate() {
        super.onCreate();
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        /* 1、验证了服务是运行在主线程的
          在LogCat中打印 当前的线程名*/
        Log.v("image","Service:"+Thread.currentThread().getName());

      /*  *//* 2、模拟下载图片任务*//*
        try {
            Log.v("image","Service:开始下载图片");
            *//* 让线程休眠3秒，这3秒内，界面不能动（原因是服务运行在主线程）
            * 若线程休眠超过5秒：
            *   1）界面不能动且会报错（服务中耗时操作要放在子线程），
            *   2）服务中的任务还会继续执行（原因：服务的运行并不依赖于用户可视的UI界面）*//*
            Thread.sleep(7000);
            Log.v("image","Service:图片下载完毕");
        } catch (InterruptedException e) {
            e.printStackTrace();
        }*/

        /* 3、把模拟下载图片的这个耗时操作 放在子线程:
        *  创建子线程，开启线程*/
        MyImageThread myImageThread=new MyImageThread();
        Thread thread=new Thread(myImageThread);
        /* 开启子线程，会自动调用线程的run还会*/
        thread.start();

        return super.onStartCommand(intent, flags, startId);
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
    }
}
